package com.app.ryjy.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 行政职务枚举
 */
@AllArgsConstructor
@Getter
public enum AdministrativePositionEnum {
    // 副科级
    DEPUTY_SECTION_LEVEL("副科级", 100, 100),
    // 相当副科级
    EQUIVALENT_DEPUTY_SECTION_LEVEL("相当副科级", 103, 103),
    // 科员级
    SECTION_MEMBER_LEVEL("科员级", 110, 110),
    // 办事员级
    CLERK_LEVEL("办事员级", 120, 120),
    // 无行政职务级别
    NO_ADMINISTRATIVE_POSITION("无行政职务级别", 190, 190),
    // 部、省级
    MINISTRY_PROVINCIAL_LEVEL("部、省级", 30, 30),
    // 相当部、省级
    EQUIVALENT_MINISTRY_PROVINCIAL_LEVEL("相当部、省级", 33, 33),
    // 副部、副省级
    DEPUTY_MINISTRY_PROVINCIAL_LEVEL("副部、副省级", 40, 40),
    // 相当副部、副省级
    EQUIVALENT_DEPUTY_MINISTRY_PROVINCIAL_LEVEL("相当副部、副省级", 43, 43),
    // 司、局、地、厅级
    DEPARTMENT_BUREAU_LEVEL("司、局、地、厅级", 50, 50),
    // 巡视员
    INSPECTOR("巡视员", 51, 51),
    // 相当司局级
    EQUIVALENT_DEPARTMENT_BUREAU_LEVEL("相当司局级", 53, 53),
    // 副司、副局、副地、副厅级
    DEPUTY_DEPARTMENT_BUREAU_LEVEL("副司、副局、副地、副厅级", 60, 60),
    // 助理巡视员
    ASSISTANT_INSPECTOR("助理巡视员", 61, 61),
    // 相当副司局级
    EQUIVALENT_DEPUTY_DEPARTMENT_BUREAU_LEVEL("相当副司局级", 63, 63),
    // 县、处级
    COUNTY_DIVISION_LEVEL("县、处级", 70, 70),
    // 调研员
    RESEARCHER("调研员", 71, 71),
    // 相当处级
    EQUIVALENT_COUNTY_DIVISION_LEVEL("相当处级", 73, 73),
    // 副县、副处级
    DEPUTY_COUNTY_DIVISION_LEVEL("副县、副处级", 80, 80),
    // 助理调研员
    ASSISTANT_RESEARCHER("助理调研员", 81, 81),
    // 相当副处级
    EQUIVALENT_DEPUTY_COUNTY_DIVISION_LEVEL("相当副处级", 83, 83),
    // 科级
    SECTION_LEVEL("科级", 90, 90),
    // 相当科级
    EQUIVALENT_SECTION_LEVEL("相当科级", 93, 93);

    private final String desc;
    private final int code;
    private final int bizCode;

    /**
     * 根据 bizCode 获取 code
     *
     * @param bizCode bizCode
     * @return code
     */
    public static int getCodeByBizCode(int bizCode) {
        for (AdministrativePositionEnum position : values()) {
            if (position.getBizCode() == bizCode) {
                return position.getCode();
            }
        }
        throw new RuntimeException("bizCode 不存在");
    }

    public static void main(String[] args) {
        System.out.println(AdministrativePositionEnum.getCodeByBizCode(100));  // 输出：100
    }
}
